// 模拟聊天数据
import * as TransformUtils from '@/components/MarkdownPreview/transform'

// 模拟回复生成函数
export function generateMockResponse(message: string) {
  const responses = {
    '你好': '你好！有什么可以帮助你的吗？',
    '介绍': '我是一个基于本地模拟数据的AI助手，可以回答一些预设的问题。',
    '天气': '抱歉，我是本地模拟数据，无法获取实时天气信息。',
    '时间': `现在的时间是${new Date().toLocaleTimeString()}`,
    '日期': `今天是${new Date().toLocaleDateString()}`,
    'vue': 'Vue.js是一个流行的JavaScript前端框架，用于构建用户界面。它的特点包括：\n\n- 渐进式框架设计\n- 响应式数据绑定\n- 组件化开发\n- 虚拟DOM\n- 易于集成\n\nVue.js由尤雨溪创建，第一个版本发布于2014年。',
    'react': 'React是由Facebook开发的JavaScript库，用于构建用户界面。它使用虚拟DOM来提高性能，并采用单向数据流。React的主要特点是组件化和可复用性。',
    'angular': 'Angular是由Google维护的TypeScript开发框架。它是一个完整的前端MVC框架，提供了双向数据绑定、依赖注入等特性。',
    '谢谢': '不客气，很高兴能帮到你！',
    '再见': '再见！如果有其他问题，随时回来问我。'
  };
  
  // 默认回复
  let reply = '我理解你的问题，但我只是一个本地模拟的AI，能力有限。请尝试问一些简单的问题，如"你好"、"介绍"等。';
  
  // 检查是否匹配预设回复
  for (const [key, value] of Object.entries(responses)) {
    if (message.toLowerCase().includes(key.toLowerCase())) {
      reply = value;
      break;
    }
  }
  
  return reply;
}

// 创建模拟流式响应
export function createMockStream(content: string) {
  const encoder = new TextEncoder();
  
  return new ReadableStream({
    start(controller) {
      // 将内容分成单词，模拟流式输出
      const words = content.split(' ');
      let index = 0;
      
      function pushNextWord() {
        if (index < words.length) {
          const word = words[index];
          const data = {
            dataType: 't02',
            chatId:99,
            conversationId:'111',
            data: {
              content: word + (index < words.length - 1 ? ' ' : '')
            }
          };
          controller.enqueue(encoder.encode(JSON.stringify(data) + '\n'));
          index++;
          setTimeout(pushNextWord, 100); // 每100ms发送一个词
        } else {
          controller.close();
        }
      }
      
      pushNextWord();
    }
  });
}